package com.wongoing.util;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

import org.apache.commons.lang3.StringUtils;

public class StrUtil {
	
	/**
	 * 功能说明：字符串按位替换
	 * 修改说明：
	 * @author 吴兆强
	 * @date 2018年4月20日 上午10:07:12
	 * @param start 开始位
	 * @param end 结束位
	 * @param taget 替换文字
	 * @return
	 */
	public static String replace(int start, int end, String origin, String taget) {
		StringBuffer phoneBuffer = new StringBuffer(origin);
		phoneBuffer.replace(start, end, taget);
		return phoneBuffer.toString();
	}
	
	/**
	 * 功能说明：手机号显示处理 176****5656
	 * 修改说明：
	 * @author 吴兆强
	 * @date 2018年4月20日 上午10:22:40
	 * @param start 开始位
	 * @param end 结束位
	 * @param origin 原始文字
	 * @param taget 替换文字	
	 * @return
	 */
	public static String phone(int start, int end, String origin) {
		if(StringUtils.isBlank(origin)) return null;
		return replace(start, end, origin, "****");
	}
	
	/**
	 * 功能说明：手机号显示处理
	 * 修改说明：
	 * @author 吴兆强
	 * @date 2018年4月20日 上午10:22:40
	 * @param start
	 * @param end
	 * @param origin
	 * @param taget
	 * @return
	 */
	public static String phone(int start, int end, String origin, String taget) {
		if(StringUtils.isBlank(origin)) return null;
		return replace(start, end, origin, taget);
	}
	
	/**
	 * 功能说明：eamil显示处理wesley@163.com->w******@163.com
	 * 修改说明：
	 * @author 吴兆强
	 * @date 2018年4月20日 上午11:01:04
	 * @param email
	 * @return
	 */
	public static String email(String email){
		if(!Pattern.compile(Constants.REX_EMAIL).matcher(email).matches()) 
			return "邮箱格式不正确";
		String emailPrefix= email.split("@")[0];
		if(emailPrefix.length()==1 || emailPrefix.length()==2 || emailPrefix.length()==3) {
			return email;
		}
		String startChar = emailPrefix.substring(0, 3);
		return startChar + "******@" +  email.split("@")[1];
	}
	
}
